package com.ybl.store.backend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ybl.store.backend.dao.entity.StoreDO;
import com.ybl.store.backend.dto.req.StoreSaveReqDTO;
import com.ybl.store.backend.dto.req.StoreUpdateReqDTO;
import com.ybl.store.backend.dto.resp.ListRespDTO;
import com.ybl.store.backend.dto.resp.StoreNameRespDTO;
import com.ybl.store.backend.dto.resp.StorePageRespDTO;

public interface StoreService extends IService<StoreDO> {

    /**
     * 新增分店
     *
     * @param requestParam 新增分店请求参数
     */
    void saveStore(StoreSaveReqDTO requestParam);

    /**
     * 根据 id 删除分店
     *
     * @param id 分店 id
     */
    void deleteStoreById(Long id);

    /**
     * 修改分店
     *
     * @param requestParam 修改分店请求参数
     */
    void updateStore(StoreUpdateReqDTO requestParam);

    /**
     * 分页查询分店
     *
     * @param pn 页码
     * @param ps 每页记录数
     * @return 分页查询分店响应参数
     */
    StorePageRespDTO pageStore(Integer pn, Integer ps);

    /**
     * 查询分店名列表
     *
     * @return 查询分店名列表响应参数
     */
    ListRespDTO<StoreNameRespDTO> listStoreName();
}
